Ana içeriğe geç

Rocky Linux 9’da Fail2Ban ile SSH Güvenliği

Bu rehberde neler öğreneceksiniz?

Bu rehberde Rocky Linux 9 üzerinde Fail2Ban kurulumunu yaparak SSH brute-force saldırılarını otomatik olarak engellemeyi öğreneceksiniz. Jail yapılandırması, servis ayarları, test işlemleri ve SSS dahil eksiksiz bir güvenlik kurulum rehberi sunulmaktadır.


1. Fail2Ban Paketini Kurma

Fail2Ban, Rocky Linux varsayılan depolarında bulunmaz; önce EPEL deposu kurulmalıdır.

EPEL deposunu ekleyin


sudo dnf install epel-release -y

EPEL deposunu sunucuya ekler; Fail2Ban burada bulunur.

Fail2Ban’ı yükleyin


sudo dnf install fail2ban -y

Fail2Ban yazılımını sisteme kurar.

Servis durumunu kontrol edin


systemctl status fail2ban

Servisin yüklü olup olmadığını ve aktif/pasif durumunu gösterir.


2. Fail2Ban Konfigürasyonunu Hazırlama

Fail2Ban yapılandırma dosyaları /etc/fail2ban dizininde yer alır.

Varsayılan dosyayı yerel ayarlara kopyalayın


cd /etc/fail2ban
sudo cp jail.conf jail.local

Varsayılan dosya güncellemelerde değişebileceği için local dosyada düzenleme yapıyoruz.

Temel güvenlik parametrelerini düzenleyin

Aşağıdaki bölüm jail.local içinde yer almalıdır:


[DEFAULT]
bantime = 10m
findtime = 10m
maxretry = 5

10 dakika içinde 5 başarısız deneme yapan IP, 10 dakika boyunca banlanır.


3. SSH Jail’ini Etkinleştirme

SSH servisini korumak için ilgili jail’i aktif etmemiz gerekiyor.


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

SSH loglarını izleyerek hatalı girişleri tespit eder ve gerektiğinde IP’leri banlar.

İlgili filtre dosyası: /etc/fail2ban/filter.d/sshd.conf


4. Fail2Ban Servisini Başlatma

Servisi kalıcı olarak etkinleştirin


sudo systemctl enable fail2ban

Sunucu yeniden başlasa bile Fail2Ban otomatik çalışır.

Servisi hemen başlatın


sudo systemctl start fail2ban

Fail2Ban servisini aktif hale getirir.

Servis durumunu doğrulayın


sudo systemctl status fail2ban

“active (running)” görünüyorsa her şey doğru çalışıyor demektir.


5. (Opsiyonel) Ban Politikasını Test Etme

Başka bir sunucudan kasıtlı olarak yanlış giriş yaparak Fail2Ban’ın işleyişini test edebilirsiniz.

Yanlış giriş denemeleri yapın

Birden fazla hatalı deneme yapınca Fail2Ban devreye girer.

Beklenen davranış: Başta: Permission denied

Birkaç denemeden sonra: Connection refused (ban uygulanmış)

Banlanan IP’leri görüntüleme


sudo fail2ban-client status sshd

SSH jail’ine ait banlı IP listesi görüntülenir.


Sıkça Sorulan Sorular (SSS)

1. Fail2Ban sadece SSH koruması mı sağlar? Hayır, Nginx, Postfix, vs. için de filtreler etkinleştirilebilir.

2. Banlanan IP’yi nasıl kaldırırım? sudo fail2ban-client set sshd unbanip <IP> komutu ile.

3. Kendi IP’mi banladım, ne yapacağım? Rabisu Bulut panelindeki Web Konsolu’ndan unban komutu çalıştır.

4. Fail2Ban saldırıyı nasıl algılıyor? Log dosyalarını regex filtreleriyle tarayıp başarısız giriş satırlarını yakalıyor.

5. Neden jail.conf yerine jail.local düzenleniyor?

jail.conf güncellemelerde değişir; jail.local değişmez.


Sonuç

Bu rehber ile Rocky Linux 9 üzerinde SSH güvenliğinizi ciddi şekilde güçlendirmiş oldunuz. Fail2Ban; yanlış parola denemelerini izler, tehdit oluşturan IP’leri otomatik olarak banlar ve sunucunuzu brute-force saldırılarına karşı korur.

Rabisu Bulut üzerinde Rocky Linux sunucunuzu güvenle oluşturup bu yapılandırmayı hemen uygulayabilirsiniz. 🚀